home *** CD-ROM | disk | FTP | other *** search
- #ifndef GRAPHICS_GFXMACROS_H
- #define GRAPHICS_GFXMACROS_H
- /*
- ** $VER: gfxmacros.h 39.3 (31.5.1993)
- ** Includes Release 44.1
- **
- **
- **
- ** (C) Copyright 1985-1999 Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- #ifndef GRAPHICS_RASTPORT_H
- #include <graphics/rastport.h>
- #endif
-
- #ifndef GRAPHICS_GFXBASE_H
- #include <graphics/gfxbase.h>
- #endif
-
- #ifndef HARDWARE_CUSTOM_H
- #include <hardware/custom.h>
- #endif
-
- #ifndef HARDWARE_DMABITS_H
- #include <hardware/dmabits.h>
- #endif
-
- /* NOTE: Define the following symbol in your source code
- * if you need the old style macros defined below.
- * Otherwise you will get the more robust versions
- * instead.
- */
- #ifdef OLD_GRAPHICS_GFXMACROS_H
- #define ON_DISPLAY custom.dmacon = BITSET|DMAF_RASTER;
- #define OFF_DISPLAY custom.dmacon = BITCLR|DMAF_RASTER;
- #define ON_SPRITE custom.dmacon = BITSET|DMAF_SPRITE;
- #define OFF_SPRITE custom.dmacon = BITCLR|DMAF_SPRITE;
-
- #define ON_VBLANK custom.intena = BITSET|INTF_VERTB;
- #define OFF_VBLANK custom.intena = BITCLR|INTF_VERTB;
-
- #define SetDrPt(w,p) {(w)->LinePtrn = p;(w)->Flags |= FRST_DOT;(w)->linpatcnt=15;}
- #define SetAfPt(w,p,n) {(w)->AreaPtrn = p;(w)->AreaPtSz = n;}
-
- #define SetOPen(w,c) {(w)->AOlPen = c;(w)->Flags |= AREAOUTLINE;}
- #define SetWrMsk(w,m) {(w)->Mask = m;}
-
- /* the SafeSetxxx macros are backwards (pre V39 graphics) compatible versions */
- /* using these macros will make your code do the right thing under V39 AND V37 */
- #define SafeSetOutlinePen(w,c) {if (GfxBase->LibNode.lib_Version<39) { (w)->AOlPen = c;(w)->Flags |= AREAOUTLINE;} else SetOutlinePen(w,c); }
- #define SafeSetWriteMask(w,m) {if (GfxBase->LibNode.lib_Version<39) { (w)->Mask = (m);} else SetWriteMask(w,m); }
-
- /* synonym for GetOPen for consistency with SetOutlinePen */
- #define GetOutlinePen(rp) GetOPen(rp)
-
- #define BNDRYOFF(w) {(w)->Flags &= ~AREAOUTLINE;}
-
- #define CINIT(c,n) UCopperListInit(c,n);
- #define CMOVE(c,a,b) { CMove(c,&a,b);CBump(c); }
- #define CWAIT(c,a,b) { CWait(c,a,b);CBump(c); }
- #define CEND(c) { CWAIT(c,10000,255); }
-
- #define DrawCircle(rp,cx,cy,r) DrawEllipse(rp,cx,cy,r,r);
- #define AreaCircle(rp,cx,cy,r) AreaEllipse(rp,cx,cy,r,r);
- #else /* OLD_GRAPHICS_GFXMACROS_H */
-
-
- #define ON_DISPLAY custom.dmacon = BITSET|DMAF_RASTER
- #define OFF_DISPLAY custom.dmacon = BITCLR|DMAF_RASTER
- #define ON_SPRITE custom.dmacon = BITSET|DMAF_SPRITE
- #define OFF_SPRITE custom.dmacon = BITCLR|DMAF_SPRITE
-
- #define ON_VBLANK custom.intena = BITSET|INTF_VERTB
- #define OFF_VBLANK custom.intena = BITCLR|INTF_VERTB
-
-
- #define SetDrPt(w,p) do { \
- (w)->LinePtrn = (p); \
- (w)->Flags |= FRST_DOT; \
- (w)->linpatcnt = 15; \
- } while (0)
-
- #define SetAfPt(w,p,n) do { \
- (w)->AreaPtrn = p; \
- (w)->AreaPtSz = n; \
- } while (0)
-
- #define SetOPen(w,c) do { \
- (w)->AOlPen = c; \
- (w)->Flags |= AREAOUTLINE; \
- } while (0)
-
- #define SetWrMsk(w,m) do { \
- (w)->Mask = m; \
- } while (0)
-
- /* the SafeSetxxx macros are backwards (pre V39 graphics) compatible versions */
- /* using these macros will make your code do the right thing under V39 AND V37 */
-
- #define SafeSetOutlinePen(w,c) do { \
- if (GfxBase->LibNode.lib_Version < 39) \
- SetOPen(w,c); \
- else \
- SetOutlinePen(w,c); \
- } while (0)
-
- #define SafeSetWriteMask(w,m) do { \
- if (GfxBase->LibNode.lib_Version < 39) \
- SetWrMsk(w,m); \
- else \
- SetWriteMask(w,m); \
- } while (0)
-
- /* synonym for GetOPen for consistency with SetOutlinePen */
- #define GetOutlinePen(rp) GetOPen(rp)
-
-
- #define BNDRYOFF(w) do { \
- (w)->Flags &= ~AREAOUTLINE; \
- } while (0)
-
-
- #define CINIT(c,n) UCopperListInit(c,n)
-
- #define CMOVE(c,a,b) do { \
- CMove(c,&a,b); \
- CBump(c); \
- } while (0)
-
- #define CWAIT(c,a,b) do { \
- CWait(c,a,b); \
- CBump(c); \
- } while (0)
-
- #define CEND(c) do { \
- CWAIT(c,10000,255); \
- } while (0)
-
-
- #define DrawCircle(rp,cx,cy,r) DrawEllipse(rp,cx,cy,r,r)
- #define AreaCircle(rp,cx,cy,r) AreaEllipse(rp,cx,cy,r,r)
-
-
- #endif /* OLD_GRAPHICS_GFXMACROS_H */
-
- #endif /* GRAPHICS_GFXMACROS_H */
-